#include<iostream>
#include<cstring>

/*
设计一个 Car 类，包含以下功能：
1. 属性：
品牌（ string ）
型号（ string ）
当前速度（ int ）
最大速度（ int ）
2. 方法：
构造函数：初始化品牌、型号和最大速度，当前速度默认为 0。
void accelerate(int value) ：加速，不能超过最大速度。
void brake(int value) ：减速，不能低于 0。
void display() ：显示汽车的所有信息。
编写一个主程序，创建一个汽车对象，调用其方法并显示结果。
*/

class car
{
private:
    char m_Brand[20];
    char m_Model[20];
    int m_CurrentSpeed;
    int m_MaxSpeed;

public:
    void SetBrand(const char* brand);
    void SetModel(const char* model);
    void CurrentSpeed(int cspeed);
    void MaxSpeed(int mspeed);
    void accelerate(int value);
    void brake(int value);
    void display();
};

void car::SetBrand(const char* brand)
{
    strcpy(m_Brand,brand);
}

void car::SetModel(const char* model)
{
    strcpy(m_Model,model);
}

void car::CurrentSpeed(int cspeed)
{
    m_CurrentSpeed=cspeed;
}

void car::MaxSpeed(int mspeed)
{
    m_MaxSpeed=mspeed;
}

void car::accelerate(int value)
{
    m_CurrentSpeed=m_CurrentSpeed+value;
    if(m_CurrentSpeed>m_MaxSpeed)
    {
        std::cout<<"你太快了"<<std::endl;
        m_CurrentSpeed-=value;
    }
}

void car::brake(int value)
{
    m_CurrentSpeed=m_CurrentSpeed-value;
    if(m_CurrentSpeed<0)
    {
        std::cout<<"你太慢了"<<std::endl;
        m_CurrentSpeed+=value;
    }
}

void car::display()
{
    std::cout<<"汽车品牌: "<<m_Brand<<"\n"<<"汽车型号: "<<m_Model<<"\n"<<"当前速度: "<<m_CurrentSpeed<<"\n"<<"最大速度: "<<m_MaxSpeed<<"\n"<<std::endl;
}

int main()
{
    int speed=0;
    car c;
    c.SetBrand("奔驰");
    c.SetModel("GLS580");
    c.CurrentSpeed(0);
    c.MaxSpeed(500);

    std::cout<<"你要加速多少？"<<std::endl;
    std::cin>>speed;
    c.accelerate(speed);
    c.display();

    std::cout<<"你要减速多少？"<<std::endl;
    std::cin>>speed;
    c.brake(speed);
    c.display();

    return 0;
}